1. Field of the Invention
The present invention relates to transaction processing systems, and more specifically to a method and apparatus enabling a designer to specify workflows to process various results of execution of transactions.
2. Related Art
A transaction is a group of operations that are performed by applications to provide a desired utility in response to request(s) received from a user. An example of a transaction is the purchase of products online containing operations such as selection of products of interest, addition of the products to a purchase list, generation of a bill for the products in the purchase list and payment of the billed amount as the user provides the appropriate inputs/data.
In a common scenario, the operations are executed sequentially and various workflows are executed in response to the result of execution of the operations. A workflow generally represents a peripheral task that needs to be performed to complement the result of processing a transaction (or the operations forming the transaction). While the transaction processing is implemented as central logic in an application program, the peripheral tasks are decoupled from the application program to form the workflows.
Workflows often involve tasks such as the movement of documents or shipping of products. For the above noted example, it may be necessary that the product and/or a physical copy of the bill have to be sent to the purchaser of the product. This may be executed as a separate workflow necessitating the initiation of the corresponding workflow when a purchase transaction is completed.
Designers writing (software instructions for) business applications often require specifying (linking) of workflows based on the results of transactions. According to one prior approach, the business applications processing the operations (belonging to a transaction) expressly specify the workflow to be initiated in response to a corresponding result of the transaction.
One disadvantage with such an approach is that addition of new links between workflows and transactions, as well as modification of existing links necessitates changing the code of the business application. Such an approach may not be feasible for business applications (for example, web applications) that need to be running continuously.
What is therefore needed is an approach, which enables a designer to specify workflows to handle various results of execution of transactions while addressing one or more problems/requirements described above.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.